<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>OpenShoe: flashc.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenShoe
   &#160;<span id="projectnumber">0.1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a>  </div>
  <div class="headertitle">
<div class="title">flashc.h File Reference</div>  </div>
</div>
<div class="contents">

<p>FLASHC driver for AVR32 UC3.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;avr32/io.h&gt;</code><br/>
<code>#include &lt;stddef.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="compiler_8h_source.html">compiler.h</a>&quot;</code><br/>
</div>
<p><a href="flashc_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aa70e373b96ff9c00883f284ca308e592">AVR32_FLASHC_REGIONS</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of flash regions defined by the FLASHC.  <a href="#aa70e373b96ff9c00883f284ca308e592"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Flash Properties</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a8071c315b02d038c49fa0bf89a40ba1b">flashc_get_flash_size</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the size of the whole flash array.  <a href="#a8071c315b02d038c49fa0bf89a40ba1b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aafad0dcf645cc65acb5bc879558dac23">flashc_get_page_count</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the total number of pages in the flash array.  <a href="#aafad0dcf645cc65acb5bc879558dac23"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a8910bcde3235e2af0770fbd2412b05bc">flashc_get_page_count_per_region</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of pages in each flash region.  <a href="#a8910bcde3235e2af0770fbd2412b05bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#ac5871dc98c8812b0413efd6456508999">flashc_get_page_region</a> (int page_number)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the region number of a page.  <a href="#ac5871dc98c8812b0413efd6456508999"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a43b14107d406ea9025f8947490c9ddcd">flashc_get_region_first_page_number</a> (unsigned int region)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of the first page of a region.  <a href="#a43b14107d406ea9025f8947490c9ddcd"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">FLASHC Command Control</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a36519235197ff4d6ab7f5adcb3fce6c1">flashc_get_command</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last issued FLASHC command.  <a href="#a36519235197ff4d6ab7f5adcb3fce6c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#adb51a37e3153c24e5dd6cf06daac0e21">flashc_get_page_number</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current FLASHC page number.  <a href="#adb51a37e3153c24e5dd6cf06daac0e21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a8045c427c32cf3617e861067d76c9c11">flashc_issue_command</a> (unsigned int command, int page_number)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Issues a FLASHC command.  <a href="#a8045c427c32cf3617e861067d76c9c11"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">FLASHC Global Commands</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aac955da1ba0b0833d17d3068c34222ec">flashc_no_operation</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Issues a No Operation command to the FLASHC.  <a href="#aac955da1ba0b0833d17d3068c34222ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a56f654a36c20b651412bbb689b8a4b2c">flashc_erase_all</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Issues an Erase All command to the FLASHC.  <a href="#a56f654a36c20b651412bbb689b8a4b2c"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">FLASHC Protection Mechanisms</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#ab07cd7525d8cdfad6c4c563310cddee2">flashc_is_security_bit_active</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether the Security bit is active.  <a href="#ab07cd7525d8cdfad6c4c563310cddee2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a245cc33e09bc45b78d4fdc189ba6fd85">flashc_activate_security_bit</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates the Security bit.  <a href="#a245cc33e09bc45b78d4fdc189ba6fd85"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a83ed88a41076163bd29ca80d30cb094f">flashc_get_bootloader_protected_size</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bootloader protected size.  <a href="#a83ed88a41076163bd29ca80d30cb094f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a076a1b22c9f3e6dad1739f0398f89b37">flashc_set_bootloader_protected_size</a> (unsigned int bootprot_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the bootloader protected size.  <a href="#a076a1b22c9f3e6dad1739f0398f89b37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#ae5d2a26e4f0666cc2ed260feb528a560">flashc_is_external_privileged_fetch_locked</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether external privileged fetch is locked.  <a href="#ae5d2a26e4f0666cc2ed260feb528a560"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a97c8b9ed8f952803a3911af33ba8d553">flashc_lock_external_privileged_fetch</a> (bool lock)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks or unlocks external privileged fetch.  <a href="#a97c8b9ed8f952803a3911af33ba8d553"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a50d3b06a3a82ba1e7c56193c3c24f7ef">flashc_is_page_region_locked</a> (int page_number)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether the region of a page is locked.  <a href="#a50d3b06a3a82ba1e7c56193c3c24f7ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a152b45f38eafcf708e52df5a814d048e">flashc_is_region_locked</a> (unsigned int region)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether a region is locked.  <a href="#a152b45f38eafcf708e52df5a814d048e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a4bc67adcf6690cc7e83fd42560a5e526">flashc_lock_page_region</a> (int page_number, bool lock)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks or unlocks the region of a page.  <a href="#a4bc67adcf6690cc7e83fd42560a5e526"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aefc77ff29ddc03fa5e605acd7f9eeb7c">flashc_lock_region</a> (unsigned int region, bool lock)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks or unlocks a region.  <a href="#aefc77ff29ddc03fa5e605acd7f9eeb7c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a8ec3c05f8b1a620a5014e2c066b7f0bf">flashc_lock_all_regions</a> (bool lock)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks or unlocks all regions.  <a href="#a8ec3c05f8b1a620a5014e2c066b7f0bf"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Access to General-Purpose Fuses</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a41488c15448086169266af4936ea7926">flashc_read_gp_fuse_bit</a> (unsigned int gp_fuse_bit)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a general-purpose fuse bit.  <a href="#a41488c15448086169266af4936ea7926"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a48db4e70ec0449ea94c9c92643c26d8e">flashc_read_gp_fuse_bitfield</a> (unsigned int pos, unsigned int width)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a general-purpose fuse bit-field.  <a href="#a48db4e70ec0449ea94c9c92643c26d8e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a86b9023e1160178df2f46aff4dfddda3">flashc_read_gp_fuse_byte</a> (unsigned int gp_fuse_byte)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a general-purpose fuse byte.  <a href="#a86b9023e1160178df2f46aff4dfddda3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#abdba94fb9eb09177ced3df0ad80b1554">flashc_read_all_gp_fuses</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads all general-purpose fuses.  <a href="#abdba94fb9eb09177ced3df0ad80b1554"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#ac5454efcadb99899bfe075b463a2e6dd">flashc_erase_gp_fuse_bit</a> (unsigned int gp_fuse_bit, bool check)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases a general-purpose fuse bit.  <a href="#ac5454efcadb99899bfe075b463a2e6dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a840a6f529e33adbd3759f276a0255aee">flashc_erase_gp_fuse_bitfield</a> (unsigned int pos, unsigned int width, bool check)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases a general-purpose fuse bit-field.  <a href="#a840a6f529e33adbd3759f276a0255aee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#acb14ac40b939a0804e8e72a8d58f5f68">flashc_erase_gp_fuse_byte</a> (unsigned int gp_fuse_byte, bool check)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases a general-purpose fuse byte.  <a href="#acb14ac40b939a0804e8e72a8d58f5f68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a59b9644a7f13bc4e510bdac498b27fb5">flashc_erase_all_gp_fuses</a> (bool check)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all general-purpose fuses.  <a href="#a59b9644a7f13bc4e510bdac498b27fb5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a70af318e71334255931a6638d2fa693c">flashc_write_gp_fuse_bit</a> (unsigned int gp_fuse_bit, bool value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a general-purpose fuse bit.  <a href="#a70af318e71334255931a6638d2fa693c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a7bc0b63b79ad5809f7d68b2da7e5e866">flashc_write_gp_fuse_bitfield</a> (unsigned int pos, unsigned int width, uint64_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a general-purpose fuse bit-field.  <a href="#a7bc0b63b79ad5809f7d68b2da7e5e866"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#acd1a7d62446687fe6db36f4ff35e7cbc">flashc_write_gp_fuse_byte</a> (unsigned int gp_fuse_byte, uint8_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a general-purpose fuse byte.  <a href="#acd1a7d62446687fe6db36f4ff35e7cbc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a39415e6bf815ab6bc734bf1e1cfe3bed">flashc_write_all_gp_fuses</a> (uint64_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes all general-purpose fuses.  <a href="#a39415e6bf815ab6bc734bf1e1cfe3bed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a63c172f89cfe0f3e3cf1c6eadc62f5f5">flashc_set_gp_fuse_bit</a> (unsigned int gp_fuse_bit, bool value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a general-purpose fuse bit with the appropriate erase and write operations.  <a href="#a63c172f89cfe0f3e3cf1c6eadc62f5f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aeef87beafc415e3a116072f74845d7ab">flashc_set_gp_fuse_bitfield</a> (unsigned int pos, unsigned int width, uint64_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a general-purpose fuse bit-field with the appropriate erase and write operations.  <a href="#aeef87beafc415e3a116072f74845d7ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#afb6970fabde5991a634954229fb4e5ca">flashc_set_gp_fuse_byte</a> (unsigned int gp_fuse_byte, uint8_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a general-purpose fuse byte with the appropriate erase and write operations.  <a href="#afb6970fabde5991a634954229fb4e5ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a65d5726797f7216ce80969b7349c7902">flashc_set_all_gp_fuses</a> (uint64_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets all general-purpose fuses with the appropriate erase and write operations.  <a href="#a65d5726797f7216ce80969b7349c7902"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
FLASHC Control</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aaff87fb23744c3ee7950205eb4f09213">flash_set_bus_freq</a>(cpu_f_hz)&#160;&#160;&#160;flashc_set_bus_freq(cpu_f_hz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias on the <a class="el" href="flashc_8c.html#a5dda977da7d7381b125b2fa25ef9ae90" title="Depending on the CPU frequency, set the wait states of flash read accesses.">flashc_set_bus_freq()</a> function.  <a href="#aaff87fb23744c3ee7950205eb4f09213"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a52784dbdd246c6c320e5041026d4da08">flashc_get_wait_state</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of wait states of flash read accesses.  <a href="#a52784dbdd246c6c320e5041026d4da08"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a2835c7ef58f410290ad530d34d7e8133">flashc_set_wait_state</a> (unsigned int wait_state)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the number of wait states of flash read accesses.  <a href="#a2835c7ef58f410290ad530d34d7e8133"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a5dda977da7d7381b125b2fa25ef9ae90">flashc_set_bus_freq</a> (unsigned int cpu_f_hz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Depending on the CPU frequency, set the wait states of flash read accesses.  <a href="#a5dda977da7d7381b125b2fa25ef9ae90"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#ac3b57583a1683e980be72aec960bc42f">flashc_is_ready_int_enabled</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether the Flash Ready interrupt is enabled.  <a href="#ac3b57583a1683e980be72aec960bc42f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#acb787828c6062e483c190500cad25193">flashc_enable_ready_int</a> (bool enable)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the Flash Ready interrupt.  <a href="#acb787828c6062e483c190500cad25193"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aa55186e65b46eb60aa32901a410f3fc2">flashc_is_lock_error_int_enabled</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether the Lock Error interrupt is enabled.  <a href="#aa55186e65b46eb60aa32901a410f3fc2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a112d456e3ea093f9699aeb8fa7e818c1">flashc_enable_lock_error_int</a> (bool enable)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the Lock Error interrupt.  <a href="#a112d456e3ea093f9699aeb8fa7e818c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a5050d8497779a0e24ac74689597834c2">flashc_is_prog_error_int_enabled</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether the Programming Error interrupt is enabled.  <a href="#a5050d8497779a0e24ac74689597834c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a432b5d4f0d90ca9facba780d99f08ae9">flashc_enable_prog_error_int</a> (bool enable)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the Programming Error interrupt.  <a href="#a432b5d4f0d90ca9facba780d99f08ae9"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
FLASHC Status</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a180c9966f5242650e00e4a231956acec">flashc_wait_until_ready</a> )(void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#adda694b46dcd563dab0c4be794dd2060">flashc_is_ready</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether the FLASHC is ready to run a new command.  <a href="#adda694b46dcd563dab0c4be794dd2060"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aca88002d64a494ca5b796b592834369d">flashc_default_wait_until_ready</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits actively until the FLASHC is ready to run a new command.  <a href="#aca88002d64a494ca5b796b592834369d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether a Lock Error has occurred during the last function called that issued one or more FLASHC commands.  <a href="#abc9239c2bde687eb3324d2d839493b4e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether a Programming Error has occurred during the last function called that issued one or more FLASHC commands.  <a href="#a96f2a8ec38721359b09bb9214c025b7f"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Access to Flash Pages</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a0dd22b622f63a5c147466b9599321961">flashc_memset</a>(dst, src, src_width, nbytes, erase)&#160;&#160;&#160;TPASTE2(flashc_memset, src_width)((dst), (src), (nbytes), (erase))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source pattern.  <a href="#a0dd22b622f63a5c147466b9599321961"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#affafe9cb74731d817b721d2a52093412">flashc_clear_page_buffer</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the page buffer.  <a href="#affafe9cb74731d817b721d2a52093412"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a05a9c2063e643943bae09f0786bcc063">flashc_is_page_erased</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether the page to which the last Quick Page Read or Quick Page Read User Page command was applied was erased.  <a href="#a05a9c2063e643943bae09f0786bcc063"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a078a084303b02d665fe3779bc096a150">flashc_quick_page_read</a> (int page_number)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the Quick Page Read command to a page.  <a href="#a078a084303b02d665fe3779bc096a150"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a8bd196144d3485a9b50b7c5fffc9fab2">flashc_erase_page</a> (int page_number, bool check)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases a page.  <a href="#a8bd196144d3485a9b50b7c5fffc9fab2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#abff832a6e31c349197439da831d71b7d">flashc_erase_all_pages</a> (bool check)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all pages within the flash array.  <a href="#abff832a6e31c349197439da831d71b7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#aa10438433246139bee71da6db2bb5bd5">flashc_write_page</a> (int page_number)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a page from the page buffer.  <a href="#aa10438433246139bee71da6db2bb5bd5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a1921803f9ba1d21a7926d9dafc400f36">flashc_quick_user_page_read</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Issues a Quick Page Read User Page command to the FLASHC.  <a href="#a1921803f9ba1d21a7926d9dafc400f36"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a7160c001cada0a9a0162cac2305a9038">flashc_erase_user_page</a> (bool check)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases the User page.  <a href="#a7160c001cada0a9a0162cac2305a9038"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#ad04374b721dca9c534d7cd041ae24712">flashc_write_user_page</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the User page from the page buffer.  <a href="#ad04374b721dca9c534d7cd041ae24712"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">volatile void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a9157e8cdcd527943f8284c0de37cd91a">flashc_memset8</a> (volatile void *dst, uint8_t src, size_t nbytes, bool erase)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> source byte.  <a href="#a9157e8cdcd527943f8284c0de37cd91a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">volatile void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#ad9b00f6e409b0b38924dba961bd52145">flashc_memset16</a> (volatile void *dst, uint16_t src, size_t nbytes, bool erase)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source half-word.  <a href="#ad9b00f6e409b0b38924dba961bd52145"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">volatile void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a44e771a3f7ed3728ef366cf2a8b67592">flashc_memset32</a> (volatile void *dst, uint32_t src, size_t nbytes, bool erase)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source word.  <a href="#a44e771a3f7ed3728ef366cf2a8b67592"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">volatile void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a9ab40621c7f4c7372cb3147c014d7d27">flashc_memset64</a> (volatile void *dst, uint64_t src, size_t nbytes, bool erase)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source double-word.  <a href="#a9ab40621c7f4c7372cb3147c014d7d27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">volatile void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flashc_8h.html#a342404f6e3f2757138c8dc58916ffef1">flashc_memcpy</a> (volatile void *dst, const void *src, size_t nbytes, bool erase)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the source pointed to by <em>src</em>.  <a href="#a342404f6e3f2757138c8dc58916ffef1"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>FLASHC driver for AVR32 UC3. </p>
<p>Copyright (C) 2009 - 2011 Atmel Corporation. All rights reserved. </p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="aa70e373b96ff9c00883f284ca308e592"></a><!-- doxytag: member="flashc.h::AVR32_FLASHC_REGIONS" ref="aa70e373b96ff9c00883f284ca308e592" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AVR32_FLASHC_REGIONS</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(AVR32_FLASHC_FLASH_SIZE /\
                        (AVR32_FLASHC_PAGES_PR_REGION * AVR32_FLASHC_PAGE_SIZE))
</pre></div>
<p>Number of flash regions defined by the FLASHC. </p>

</div>
</div>
<a class="anchor" id="aaff87fb23744c3ee7950205eb4f09213"></a><!-- doxytag: member="flashc.h::flash_set_bus_freq" ref="aaff87fb23744c3ee7950205eb4f09213" args="(cpu_f_hz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define flash_set_bus_freq</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cpu_f_hz</td><td>)</td>
          <td>&#160;&#160;&#160;flashc_set_bus_freq(cpu_f_hz)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Alias on the <a class="el" href="flashc_8c.html#a5dda977da7d7381b125b2fa25ef9ae90" title="Depending on the CPU frequency, set the wait states of flash read accesses.">flashc_set_bus_freq()</a> function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">cpu_f_hz</td><td>The CPU frequency </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0dd22b622f63a5c147466b9599321961"></a><!-- doxytag: member="flashc.h::flashc_memset" ref="a0dd22b622f63a5c147466b9599321961" args="(dst, src, src_width, nbytes, erase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define flashc_memset</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">src, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">src_width, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">nbytes, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">erase&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;TPASTE2(flashc_memset, src_width)((dst), (src), (nbytes), (erase))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source pattern. </p>
<p>All pointer and size alignments are supported.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Pointer to flash destination. </td></tr>
    <tr><td class="paramname">src</td><td>Source double-word. </td></tr>
    <tr><td class="paramname">src_width</td><td><em>src</em> width in bits: 8, 16, 32 or 64. </td></tr>
    <tr><td class="paramname">nbytes</td><td>Number of bytes to set. </td></tr>
    <tr><td class="paramname">erase</td><td>Whether to erase before writing: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of <em>dst</em>.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function may be called with <em>erase</em> set to <code>false</code> only if the destination consists only of erased words, i.e. this function can not be used to write only one bit of a previously written word. E.g., if <code>0x00000001</code> then <code>0xFFFFFFFE</code> are written to a word, the resulting value in flash may be different from <code>0x00000000</code>.</dd>
<dd>
A Lock Error is issued if the command is applied to pages belonging to a locked region or to the bootloader protected area.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a245cc33e09bc45b78d4fdc189ba6fd85"></a><!-- doxytag: member="flashc.h::flashc_activate_security_bit" ref="a245cc33e09bc45b78d4fdc189ba6fd85" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_activate_security_bit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Activates the Security bit. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="affafe9cb74731d817b721d2a52093412"></a><!-- doxytag: member="flashc.h::flashc_clear_page_buffer" ref="affafe9cb74731d817b721d2a52093412" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_clear_page_buffer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clears the page buffer. </p>
<p>This command resets all bits in the page buffer to one. Write accesses to the page buffer can only change page buffer bits from one to zero.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The page buffer is not automatically reset after a page write.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="aca88002d64a494ca5b796b592834369d"></a><!-- doxytag: member="flashc.h::flashc_default_wait_until_ready" ref="aca88002d64a494ca5b796b592834369d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_default_wait_until_ready </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Waits actively until the FLASHC is ready to run a new command. </p>
<p>This is the default function assigned to <a class="el" href="flashc_8h.html#a180c9966f5242650e00e4a231956acec">flashc_wait_until_ready</a>. </p>

</div>
</div>
<a class="anchor" id="a112d456e3ea093f9699aeb8fa7e818c1"></a><!-- doxytag: member="flashc.h::flashc_enable_lock_error_int" ref="a112d456e3ea093f9699aeb8fa7e818c1" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_enable_lock_error_int </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables or disables the Lock Error interrupt. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>Whether to enable the Lock Error interrupt: <code>true</code> or <code>false</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a432b5d4f0d90ca9facba780d99f08ae9"></a><!-- doxytag: member="flashc.h::flashc_enable_prog_error_int" ref="a432b5d4f0d90ca9facba780d99f08ae9" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_enable_prog_error_int </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables or disables the Programming Error interrupt. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>Whether to enable the Programming Error interrupt: <code>true</code> or <code>false</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acb787828c6062e483c190500cad25193"></a><!-- doxytag: member="flashc.h::flashc_enable_ready_int" ref="acb787828c6062e483c190500cad25193" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_enable_ready_int </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables or disables the Flash Ready interrupt. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>Whether to enable the Flash Ready interrupt: <code>true</code> or <code>false</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a56f654a36c20b651412bbb689b8a4b2c"></a><!-- doxytag: member="flashc.h::flashc_erase_all" ref="a56f654a36c20b651412bbb689b8a4b2c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_erase_all </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Issues an Erase All command to the FLASHC. </p>
<p>This command erases all bits in the flash array, the general-purpose fuse bits and the Security bit. The User page is not erased.</p>
<p>This command also ensures that all volatile memories, such as register file and RAMs, are erased before the Security bit is erased, i.e. deactivated.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if at least one region is locked or the bootloader protection is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits. </dd></dl>

</div>
</div>
<a class="anchor" id="a59b9644a7f13bc4e510bdac498b27fb5"></a><!-- doxytag: member="flashc.h::flashc_erase_all_gp_fuses" ref="a59b9644a7f13bc4e510bdac498b27fb5" args="(bool check)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_erase_all_gp_fuses </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>check</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erases all general-purpose fuses. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">check</td><td>Whether to check erase: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the erase succeeded or always <code>true</code> if erase check was not requested.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="abff832a6e31c349197439da831d71b7d"></a><!-- doxytag: member="flashc.h::flashc_erase_all_pages" ref="abff832a6e31c349197439da831d71b7d" args="(bool check)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_erase_all_pages </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>check</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erases all pages within the flash array. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">check</td><td>Whether to check erase: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the erase succeeded or always <code>true</code> if erase check was not requested.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if at least one region is locked or the bootloader protection is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits. </dd></dl>

</div>
</div>
<a class="anchor" id="ac5454efcadb99899bfe075b463a2e6dd"></a><!-- doxytag: member="flashc.h::flashc_erase_gp_fuse_bit" ref="ac5454efcadb99899bfe075b463a2e6dd" args="(unsigned int gp_fuse_bit, bool check)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_erase_gp_fuse_bit </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_bit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>check</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erases a general-purpose fuse bit. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_bit</td><td>The general-purpose fuse bit: <code>0</code> to <code>63</code>. </td></tr>
    <tr><td class="paramname">check</td><td>Whether to check erase: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the erase succeeded or always <code>true</code> if erase check was not requested.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active and the command is applied to BOOTPROT or EPFL fuses.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a840a6f529e33adbd3759f276a0255aee"></a><!-- doxytag: member="flashc.h::flashc_erase_gp_fuse_bitfield" ref="a840a6f529e33adbd3759f276a0255aee" args="(unsigned int pos, unsigned int width, bool check)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_erase_gp_fuse_bitfield </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>check</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erases a general-purpose fuse bit-field. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pos</td><td>The bit-position of the general-purpose fuse bit-field: <code>0</code> to <code>63</code>. </td></tr>
    <tr><td class="paramname">width</td><td>The bit-width of the general-purpose fuse bit-field: <code>0</code> to <code>64</code>. </td></tr>
    <tr><td class="paramname">check</td><td>Whether to check erase: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the erase succeeded or always <code>true</code> if erase check was not requested.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active and the command is applied to BOOTPROT or EPFL fuses.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="acb14ac40b939a0804e8e72a8d58f5f68"></a><!-- doxytag: member="flashc.h::flashc_erase_gp_fuse_byte" ref="acb14ac40b939a0804e8e72a8d58f5f68" args="(unsigned int gp_fuse_byte, bool check)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_erase_gp_fuse_byte </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_byte</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>check</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erases a general-purpose fuse byte. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_byte</td><td>The general-purpose fuse byte: <code>0</code> to <code>7</code>. </td></tr>
    <tr><td class="paramname">check</td><td>Whether to check erase: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the erase succeeded or always <code>true</code> if erase check was not requested.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a8bd196144d3485a9b50b7c5fffc9fab2"></a><!-- doxytag: member="flashc.h::flashc_erase_page" ref="a8bd196144d3485a9b50b7c5fffc9fab2" args="(int page_number, bool check)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_erase_page </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>page_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>check</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erases a page. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">page_number</td><td>The page number: <ul>
<li><code>0</code> to <code>(<a class="el" href="flashc_8c.html#aafad0dcf645cc65acb5bc879558dac23" title="Gets the total number of pages in the flash array.">flashc_get_page_count()</a> - 1)</code>: a page number within the flash array; </li>
<li><code>&lt; 0</code>: the current page number. </li>
</ul>
</td></tr>
    <tr><td class="paramname">check</td><td>Whether to check erase: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the erase succeeded or always <code>true</code> if erase check was not requested.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the command is applied to a page belonging to a locked region or to the bootloader protected area.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits. </dd></dl>

</div>
</div>
<a class="anchor" id="a7160c001cada0a9a0162cac2305a9038"></a><!-- doxytag: member="flashc.h::flashc_erase_user_page" ref="a7160c001cada0a9a0162cac2305a9038" args="(bool check)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_erase_user_page </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>check</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erases the User page. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">check</td><td>Whether to check erase: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the erase succeeded or always <code>true</code> if erase check was not requested.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
An erase operation can only set bits. </dd></dl>

</div>
</div>
<a class="anchor" id="a83ed88a41076163bd29ca80d30cb094f"></a><!-- doxytag: member="flashc.h::flashc_get_bootloader_protected_size" ref="a83ed88a41076163bd29ca80d30cb094f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_bootloader_protected_size </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the bootloader protected size. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The bootloader protected size in bytes. </dd></dl>

</div>
</div>
<a class="anchor" id="a36519235197ff4d6ab7f5adcb3fce6c1"></a><!-- doxytag: member="flashc.h::flashc_get_command" ref="a36519235197ff4d6ab7f5adcb3fce6c1" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_command </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the last issued FLASHC command. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The last issued FLASHC command. </dd></dl>

</div>
</div>
<a class="anchor" id="a8071c315b02d038c49fa0bf89a40ba1b"></a><!-- doxytag: member="flashc.h::flashc_get_flash_size" ref="a8071c315b02d038c49fa0bf89a40ba1b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_flash_size </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the size of the whole flash array. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the whole flash array in bytes. </dd></dl>

</div>
</div>
<a class="anchor" id="aafad0dcf645cc65acb5bc879558dac23"></a><!-- doxytag: member="flashc.h::flashc_get_page_count" ref="aafad0dcf645cc65acb5bc879558dac23" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_page_count </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the total number of pages in the flash array. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The total number of pages in the flash array. </dd></dl>

</div>
</div>
<a class="anchor" id="a8910bcde3235e2af0770fbd2412b05bc"></a><!-- doxytag: member="flashc.h::flashc_get_page_count_per_region" ref="a8910bcde3235e2af0770fbd2412b05bc" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_page_count_per_region </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the number of pages in each flash region. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of pages in each flash region. </dd></dl>

</div>
</div>
<a class="anchor" id="adb51a37e3153c24e5dd6cf06daac0e21"></a><!-- doxytag: member="flashc.h::flashc_get_page_number" ref="adb51a37e3153c24e5dd6cf06daac0e21" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_page_number </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the current FLASHC page number. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current FLASHC page number. </dd></dl>

</div>
</div>
<a class="anchor" id="ac5871dc98c8812b0413efd6456508999"></a><!-- doxytag: member="flashc.h::flashc_get_page_region" ref="ac5871dc98c8812b0413efd6456508999" args="(int page_number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_page_region </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>page_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the region number of a page. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">page_number</td><td>The page number: <ul>
<li><code>0</code> to <code>(<a class="el" href="flashc_8c.html#aafad0dcf645cc65acb5bc879558dac23" title="Gets the total number of pages in the flash array.">flashc_get_page_count()</a> - 1)</code>: a page number within the flash array; </li>
<li><code>&lt; 0</code>: the current page number.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The region number of the specified page. </dd></dl>

</div>
</div>
<a class="anchor" id="a43b14107d406ea9025f8947490c9ddcd"></a><!-- doxytag: member="flashc.h::flashc_get_region_first_page_number" ref="a43b14107d406ea9025f8947490c9ddcd" args="(unsigned int region)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_region_first_page_number </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>region</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the number of the first page of a region. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">region</td><td>The region number: <code>0</code> to <code>(AVR32_FLASHC_REGIONS - 1)</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of the first page of the specified region. </dd></dl>

</div>
</div>
<a class="anchor" id="a52784dbdd246c6c320e5041026d4da08"></a><!-- doxytag: member="flashc.h::flashc_get_wait_state" ref="a52784dbdd246c6c320e5041026d4da08" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_get_wait_state </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the number of wait states of flash read accesses. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of wait states of flash read accesses. </dd></dl>

</div>
</div>
<a class="anchor" id="ae5d2a26e4f0666cc2ed260feb528a560"></a><!-- doxytag: member="flashc.h::flashc_is_external_privileged_fetch_locked" ref="ae5d2a26e4f0666cc2ed260feb528a560" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_external_privileged_fetch_locked </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether external privileged fetch is locked. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether external privileged fetch is locked. </dd></dl>

</div>
</div>
<a class="anchor" id="abc9239c2bde687eb3324d2d839493b4e"></a><!-- doxytag: member="flashc.h::flashc_is_lock_error" ref="abc9239c2bde687eb3324d2d839493b4e" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_lock_error </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether a Lock Error has occurred during the last function called that issued one or more FLASHC commands. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether a Lock Error has occurred during the last function called that issued one or more FLASHC commands. </dd></dl>

</div>
</div>
<a class="anchor" id="aa55186e65b46eb60aa32901a410f3fc2"></a><!-- doxytag: member="flashc.h::flashc_is_lock_error_int_enabled" ref="aa55186e65b46eb60aa32901a410f3fc2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_lock_error_int_enabled </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether the Lock Error interrupt is enabled. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the Lock Error interrupt is enabled. </dd></dl>

</div>
</div>
<a class="anchor" id="a05a9c2063e643943bae09f0786bcc063"></a><!-- doxytag: member="flashc.h::flashc_is_page_erased" ref="a05a9c2063e643943bae09f0786bcc063" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_page_erased </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether the page to which the last Quick Page Read or Quick Page Read User Page command was applied was erased. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the page to which the last Quick Page Read or Quick Page Read User Page command was applied was erased. </dd></dl>

</div>
</div>
<a class="anchor" id="a50d3b06a3a82ba1e7c56193c3c24f7ef"></a><!-- doxytag: member="flashc.h::flashc_is_page_region_locked" ref="a50d3b06a3a82ba1e7c56193c3c24f7ef" args="(int page_number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_page_region_locked </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>page_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether the region of a page is locked. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">page_number</td><td>The page number: <ul>
<li><code>0</code> to <code>(<a class="el" href="flashc_8c.html#aafad0dcf645cc65acb5bc879558dac23" title="Gets the total number of pages in the flash array.">flashc_get_page_count()</a> - 1)</code>: a page number within the flash array; </li>
<li><code>&lt; 0</code>: the current page number.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the region of the specified page is locked. </dd></dl>

</div>
</div>
<a class="anchor" id="a5050d8497779a0e24ac74689597834c2"></a><!-- doxytag: member="flashc.h::flashc_is_prog_error_int_enabled" ref="a5050d8497779a0e24ac74689597834c2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_prog_error_int_enabled </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether the Programming Error interrupt is enabled. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the Programming Error interrupt is enabled. </dd></dl>

</div>
</div>
<a class="anchor" id="a96f2a8ec38721359b09bb9214c025b7f"></a><!-- doxytag: member="flashc.h::flashc_is_programming_error" ref="a96f2a8ec38721359b09bb9214c025b7f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_programming_error </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether a Programming Error has occurred during the last function called that issued one or more FLASHC commands. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether a Programming Error has occurred during the last function called that issued one or more FLASHC commands. </dd></dl>

</div>
</div>
<a class="anchor" id="adda694b46dcd563dab0c4be794dd2060"></a><!-- doxytag: member="flashc.h::flashc_is_ready" ref="adda694b46dcd563dab0c4be794dd2060" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_ready </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether the FLASHC is ready to run a new command. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the FLASHC is ready to run a new command. </dd></dl>

</div>
</div>
<a class="anchor" id="ac3b57583a1683e980be72aec960bc42f"></a><!-- doxytag: member="flashc.h::flashc_is_ready_int_enabled" ref="ac3b57583a1683e980be72aec960bc42f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_ready_int_enabled </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether the Flash Ready interrupt is enabled. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the Flash Ready interrupt is enabled. </dd></dl>

</div>
</div>
<a class="anchor" id="a152b45f38eafcf708e52df5a814d048e"></a><!-- doxytag: member="flashc.h::flashc_is_region_locked" ref="a152b45f38eafcf708e52df5a814d048e" args="(unsigned int region)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_region_locked </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>region</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether a region is locked. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">region</td><td>The region number: <code>0</code> to <code>(AVR32_FLASHC_REGIONS - 1)</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the specified region is locked. </dd></dl>

</div>
</div>
<a class="anchor" id="ab07cd7525d8cdfad6c4c563310cddee2"></a><!-- doxytag: member="flashc.h::flashc_is_security_bit_active" ref="ab07cd7525d8cdfad6c4c563310cddee2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_is_security_bit_active </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells whether the Security bit is active. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the Security bit is active. </dd></dl>

</div>
</div>
<a class="anchor" id="a8045c427c32cf3617e861067d76c9c11"></a><!-- doxytag: member="flashc.h::flashc_issue_command" ref="a8045c427c32cf3617e861067d76c9c11" args="(unsigned int command, int page_number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_issue_command </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>page_number</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Issues a FLASHC command. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>The command: <code>AVR32_FLASHC_FCMD_CMD_x</code>. </td></tr>
    <tr><td class="paramname">page_number</td><td>The page number to apply the command to: <ul>
<li><code>0</code> to <code>(<a class="el" href="flashc_8c.html#aafad0dcf645cc65acb5bc879558dac23" title="Gets the total number of pages in the flash array.">flashc_get_page_count()</a> - 1)</code>: a page number within the flash array; </li>
<li><code>&lt; 0</code>: use this to apply the command to the current page number or if the command does not apply to any page number; </li>
<li>this argument may have other meanings according to the command. See the FLASHC chapter of the MCU datasheet.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the command violates the protection mechanism.</dd>
<dd>
A Programming Error is issued if the command is invalid.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a8ec3c05f8b1a620a5014e2c066b7f0bf"></a><!-- doxytag: member="flashc.h::flashc_lock_all_regions" ref="a8ec3c05f8b1a620a5014e2c066b7f0bf" args="(bool lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_lock_all_regions </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lock</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Locks or unlocks all regions. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lock</td><td>Whether to lock the regions: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a97c8b9ed8f952803a3911af33ba8d553"></a><!-- doxytag: member="flashc.h::flashc_lock_external_privileged_fetch" ref="a97c8b9ed8f952803a3911af33ba8d553" args="(bool lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_lock_external_privileged_fetch </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lock</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Locks or unlocks external privileged fetch. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lock</td><td>Whether to lock external privileged fetch: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a4bc67adcf6690cc7e83fd42560a5e526"></a><!-- doxytag: member="flashc.h::flashc_lock_page_region" ref="a4bc67adcf6690cc7e83fd42560a5e526" args="(int page_number, bool lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_lock_page_region </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>page_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lock</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Locks or unlocks the region of a page. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">page_number</td><td>The page number: <ul>
<li><code>0</code> to <code>(<a class="el" href="flashc_8c.html#aafad0dcf645cc65acb5bc879558dac23" title="Gets the total number of pages in the flash array.">flashc_get_page_count()</a> - 1)</code>: a page number within the flash array; </li>
<li><code>&lt; 0</code>: the current page number. </li>
</ul>
</td></tr>
    <tr><td class="paramname">lock</td><td>Whether to lock the region of the specified page: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="aefc77ff29ddc03fa5e605acd7f9eeb7c"></a><!-- doxytag: member="flashc.h::flashc_lock_region" ref="aefc77ff29ddc03fa5e605acd7f9eeb7c" args="(unsigned int region, bool lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_lock_region </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>region</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lock</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Locks or unlocks a region. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">region</td><td>The region number: <code>0</code> to <code>(AVR32_FLASHC_REGIONS - 1)</code>. </td></tr>
    <tr><td class="paramname">lock</td><td>Whether to lock the specified region: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a342404f6e3f2757138c8dc58916ffef1"></a><!-- doxytag: member="flashc.h::flashc_memcpy" ref="a342404f6e3f2757138c8dc58916ffef1" args="(volatile void *dst, const void *src, size_t nbytes, bool erase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile void* flashc_memcpy </td>
          <td>(</td>
          <td class="paramtype">volatile void *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>erase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the source pointed to by <em>src</em>. </p>
<p>The destination areas that are not within the flash array or the User page are caught by an assert() operation.</p>
<p>All pointer and size alignments are supported.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Pointer to flash destination. </td></tr>
    <tr><td class="paramname">src</td><td>Pointer to source data. </td></tr>
    <tr><td class="paramname">nbytes</td><td>Number of bytes to copy. </td></tr>
    <tr><td class="paramname">erase</td><td>Whether to erase before writing: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of <em>dst</em>.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>If copying takes place between areas that overlap, the behavior is undefined.</dd>
<dd>
This function may be called with <em>erase</em> set to <code>false</code> only if the destination consists only of erased words, i.e. this function can not be used to write only one bit of a previously written word. E.g., if <code>0x00000001</code> then <code>0xFFFFFFFE</code> are written to a word, the resulting value in flash may be different from <code>0x00000000</code>.</dd>
<dd>
A Lock Error is issued if the command is applied to pages belonging to a locked region or to the bootloader protected area.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="ad9b00f6e409b0b38924dba961bd52145"></a><!-- doxytag: member="flashc.h::flashc_memset16" ref="ad9b00f6e409b0b38924dba961bd52145" args="(volatile void *dst, uint16_t src, size_t nbytes, bool erase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile void* flashc_memset16 </td>
          <td>(</td>
          <td class="paramtype">volatile void *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>erase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source half-word. </p>
<p>All pointer and size alignments are supported.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Pointer to flash destination. </td></tr>
    <tr><td class="paramname">src</td><td>Source half-word. </td></tr>
    <tr><td class="paramname">nbytes</td><td>Number of bytes to set. </td></tr>
    <tr><td class="paramname">erase</td><td>Whether to erase before writing: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of <em>dst</em>.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function may be called with <em>erase</em> set to <code>false</code> only if the destination consists only of erased words, i.e. this function can not be used to write only one bit of a previously written word. E.g., if <code>0x00000001</code> then <code>0xFFFFFFFE</code> are written to a word, the resulting value in flash may be different from <code>0x00000000</code>.</dd>
<dd>
A Lock Error is issued if the command is applied to pages belonging to a locked region or to the bootloader protected area.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a44e771a3f7ed3728ef366cf2a8b67592"></a><!-- doxytag: member="flashc.h::flashc_memset32" ref="a44e771a3f7ed3728ef366cf2a8b67592" args="(volatile void *dst, uint32_t src, size_t nbytes, bool erase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile void* flashc_memset32 </td>
          <td>(</td>
          <td class="paramtype">volatile void *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>erase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source word. </p>
<p>All pointer and size alignments are supported.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Pointer to flash destination. </td></tr>
    <tr><td class="paramname">src</td><td>Source word. </td></tr>
    <tr><td class="paramname">nbytes</td><td>Number of bytes to set. </td></tr>
    <tr><td class="paramname">erase</td><td>Whether to erase before writing: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of <em>dst</em>.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function may be called with <em>erase</em> set to <code>false</code> only if the destination consists only of erased words, i.e. this function can not be used to write only one bit of a previously written word. E.g., if <code>0x00000001</code> then <code>0xFFFFFFFE</code> are written to a word, the resulting value in flash may be different from <code>0x00000000</code>.</dd>
<dd>
A Lock Error is issued if the command is applied to pages belonging to a locked region or to the bootloader protected area.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a9ab40621c7f4c7372cb3147c014d7d27"></a><!-- doxytag: member="flashc.h::flashc_memset64" ref="a9ab40621c7f4c7372cb3147c014d7d27" args="(volatile void *dst, uint64_t src, size_t nbytes, bool erase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile void* flashc_memset64 </td>
          <td>(</td>
          <td class="paramtype">volatile void *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>erase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> big-endian source double-word. </p>
<p>All pointer and size alignments are supported.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Pointer to flash destination. </td></tr>
    <tr><td class="paramname">src</td><td>Source double-word. </td></tr>
    <tr><td class="paramname">nbytes</td><td>Number of bytes to set. </td></tr>
    <tr><td class="paramname">erase</td><td>Whether to erase before writing: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of <em>dst</em>.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function may be called with <em>erase</em> set to <code>false</code> only if the destination consists only of erased words, i.e. this function can not be used to write only one bit of a previously written word. E.g., if <code>0x00000001</code> then <code>0xFFFFFFFE</code> are written to a word, the resulting value in flash may be different from <code>0x00000000</code>.</dd>
<dd>
A Lock Error is issued if the command is applied to pages belonging to a locked region or to the bootloader protected area.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a9157e8cdcd527943f8284c0de37cd91a"></a><!-- doxytag: member="flashc.h::flashc_memset8" ref="a9157e8cdcd527943f8284c0de37cd91a" args="(volatile void *dst, uint8_t src, size_t nbytes, bool erase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile void* flashc_memset8 </td>
          <td>(</td>
          <td class="paramtype">volatile void *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>erase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies <em>nbytes</em> bytes to the flash destination pointed to by <em>dst</em> from the repeated <em>src</em> source byte. </p>
<p>All pointer and size alignments are supported.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Pointer to flash destination. </td></tr>
    <tr><td class="paramname">src</td><td>Source byte. </td></tr>
    <tr><td class="paramname">nbytes</td><td>Number of bytes to set. </td></tr>
    <tr><td class="paramname">erase</td><td>Whether to erase before writing: <code>true</code> or <code>false</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of <em>dst</em>.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function may be called with <em>erase</em> set to <code>false</code> only if the destination consists only of erased words, i.e. this function can not be used to write only one bit of a previously written word. E.g., if <code>0x00000001</code> then <code>0xFFFFFFFE</code> are written to a word, the resulting value in flash may be different from <code>0x00000000</code>.</dd>
<dd>
A Lock Error is issued if the command is applied to pages belonging to a locked region or to the bootloader protected area.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="aac955da1ba0b0833d17d3068c34222ec"></a><!-- doxytag: member="flashc.h::flashc_no_operation" ref="aac955da1ba0b0833d17d3068c34222ec" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_no_operation </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Issues a No Operation command to the FLASHC. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a078a084303b02d665fe3779bc096a150"></a><!-- doxytag: member="flashc.h::flashc_quick_page_read" ref="a078a084303b02d665fe3779bc096a150" args="(int page_number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_quick_page_read </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>page_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Applies the Quick Page Read command to a page. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">page_number</td><td>The page number: <ul>
<li><code>0</code> to <code>(<a class="el" href="flashc_8c.html#aafad0dcf645cc65acb5bc879558dac23" title="Gets the total number of pages in the flash array.">flashc_get_page_count()</a> - 1)</code>: a page number within the flash array; </li>
<li><code>&lt; 0</code>: the current page number.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the specified page is erased.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a1921803f9ba1d21a7926d9dafc400f36"></a><!-- doxytag: member="flashc.h::flashc_quick_user_page_read" ref="a1921803f9ba1d21a7926d9dafc400f36" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_quick_user_page_read </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Issues a Quick Page Read User Page command to the FLASHC. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the User page is erased.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="abdba94fb9eb09177ced3df0ad80b1554"></a><!-- doxytag: member="flashc.h::flashc_read_all_gp_fuses" ref="abdba94fb9eb09177ced3df0ad80b1554" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flashc_read_all_gp_fuses </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads all general-purpose fuses. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of all general-purpose fuses as a word.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a41488c15448086169266af4936ea7926"></a><!-- doxytag: member="flashc.h::flashc_read_gp_fuse_bit" ref="a41488c15448086169266af4936ea7926" args="(unsigned int gp_fuse_bit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool flashc_read_gp_fuse_bit </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_bit</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a general-purpose fuse bit. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_bit</td><td>The general-purpose fuse bit: <code>0</code> to <code>63</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of the specified general-purpose fuse bit.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a48db4e70ec0449ea94c9c92643c26d8e"></a><!-- doxytag: member="flashc.h::flashc_read_gp_fuse_bitfield" ref="a48db4e70ec0449ea94c9c92643c26d8e" args="(unsigned int pos, unsigned int width)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flashc_read_gp_fuse_bitfield </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>width</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a general-purpose fuse bit-field. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pos</td><td>The bit-position of the general-purpose fuse bit-field: <code>0</code> to <code>63</code>. </td></tr>
    <tr><td class="paramname">width</td><td>The bit-width of the general-purpose fuse bit-field: <code>0</code> to <code>64</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of the specified general-purpose fuse bit-field.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a86b9023e1160178df2f46aff4dfddda3"></a><!-- doxytag: member="flashc.h::flashc_read_gp_fuse_byte" ref="a86b9023e1160178df2f46aff4dfddda3" args="(unsigned int gp_fuse_byte)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t flashc_read_gp_fuse_byte </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_byte</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads a general-purpose fuse byte. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_byte</td><td>The general-purpose fuse byte: <code>0</code> to <code>7</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of the specified general-purpose fuse byte.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a65d5726797f7216ce80969b7349c7902"></a><!-- doxytag: member="flashc.h::flashc_set_all_gp_fuses" ref="a65d5726797f7216ce80969b7349c7902" args="(uint64_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_set_all_gp_fuses </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets all general-purpose fuses with the appropriate erase and write operations. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The value of all general-purpose fuses as a word.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a076a1b22c9f3e6dad1739f0398f89b37"></a><!-- doxytag: member="flashc.h::flashc_set_bootloader_protected_size" ref="a076a1b22c9f3e6dad1739f0398f89b37" args="(unsigned int bootprot_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int flashc_set_bootloader_protected_size </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>bootprot_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the bootloader protected size. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bootprot_size</td><td>The wanted bootloader protected size in bytes. If this size is not supported, the actual size will be the nearest greater available size or the maximal possible size if the requested size is too large.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The actual bootloader protected size in bytes.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated. </dd></dl>

</div>
</div>
<a class="anchor" id="a5dda977da7d7381b125b2fa25ef9ae90"></a><!-- doxytag: member="flashc.h::flashc_set_bus_freq" ref="a5dda977da7d7381b125b2fa25ef9ae90" args="(unsigned int cpu_f_hz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_set_bus_freq </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>cpu_f_hz</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Depending on the CPU frequency, set the wait states of flash read accesses. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">cpu_f_hz</td><td>The CPU frequency </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a63c172f89cfe0f3e3cf1c6eadc62f5f5"></a><!-- doxytag: member="flashc.h::flashc_set_gp_fuse_bit" ref="a63c172f89cfe0f3e3cf1c6eadc62f5f5" args="(unsigned int gp_fuse_bit, bool value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_set_gp_fuse_bit </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_bit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a general-purpose fuse bit with the appropriate erase and write operations. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_bit</td><td>The general-purpose fuse bit: <code>0</code> to <code>63</code>. </td></tr>
    <tr><td class="paramname">value</td><td>The value of the specified general-purpose fuse bit.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active and the command is applied to BOOTPROT or EPFL fuses.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="aeef87beafc415e3a116072f74845d7ab"></a><!-- doxytag: member="flashc.h::flashc_set_gp_fuse_bitfield" ref="aeef87beafc415e3a116072f74845d7ab" args="(unsigned int pos, unsigned int width, uint64_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_set_gp_fuse_bitfield </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a general-purpose fuse bit-field with the appropriate erase and write operations. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pos</td><td>The bit-position of the general-purpose fuse bit-field: <code>0</code> to <code>63</code>. </td></tr>
    <tr><td class="paramname">width</td><td>The bit-width of the general-purpose fuse bit-field: <code>0</code> to <code>64</code>. </td></tr>
    <tr><td class="paramname">value</td><td>The value of the specified general-purpose fuse bit-field.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active and the command is applied to BOOTPROT or EPFL fuses.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="afb6970fabde5991a634954229fb4e5ca"></a><!-- doxytag: member="flashc.h::flashc_set_gp_fuse_byte" ref="afb6970fabde5991a634954229fb4e5ca" args="(unsigned int gp_fuse_byte, uint8_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_set_gp_fuse_byte </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_byte</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a general-purpose fuse byte with the appropriate erase and write operations. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_byte</td><td>The general-purpose fuse byte: <code>0</code> to <code>7</code>. </td></tr>
    <tr><td class="paramname">value</td><td>The value of the specified general-purpose fuse byte.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a2835c7ef58f410290ad530d34d7e8133"></a><!-- doxytag: member="flashc.h::flashc_set_wait_state" ref="a2835c7ef58f410290ad530d34d7e8133" args="(unsigned int wait_state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_set_wait_state </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>wait_state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the number of wait states of flash read accesses. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">wait_state</td><td>The number of wait states of flash read accesses: <code>0</code> to <code>1</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a39415e6bf815ab6bc734bf1e1cfe3bed"></a><!-- doxytag: member="flashc.h::flashc_write_all_gp_fuses" ref="a39415e6bf815ab6bc734bf1e1cfe3bed" args="(uint64_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_write_all_gp_fuses </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes all general-purpose fuses. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The value of all general-purpose fuses as a word.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
A write operation can only clear bits; in other words, an erase operation must first be done if some bits need to be set to 1.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a70af318e71334255931a6638d2fa693c"></a><!-- doxytag: member="flashc.h::flashc_write_gp_fuse_bit" ref="a70af318e71334255931a6638d2fa693c" args="(unsigned int gp_fuse_bit, bool value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_write_gp_fuse_bit </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_bit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes a general-purpose fuse bit. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_bit</td><td>The general-purpose fuse bit: <code>0</code> to <code>63</code>. </td></tr>
    <tr><td class="paramname">value</td><td>The value of the specified general-purpose fuse bit.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active and the command is applied to BOOTPROT or EPFL fuses.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
A write operation can only clear bits; in other words, an erase operation must first be done if some bits need to be set to 1.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="a7bc0b63b79ad5809f7d68b2da7e5e866"></a><!-- doxytag: member="flashc.h::flashc_write_gp_fuse_bitfield" ref="a7bc0b63b79ad5809f7d68b2da7e5e866" args="(unsigned int pos, unsigned int width, uint64_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_write_gp_fuse_bitfield </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes a general-purpose fuse bit-field. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pos</td><td>The bit-position of the general-purpose fuse bit-field: <code>0</code> to <code>63</code>. </td></tr>
    <tr><td class="paramname">width</td><td>The bit-width of the general-purpose fuse bit-field: <code>0</code> to <code>64</code>. </td></tr>
    <tr><td class="paramname">value</td><td>The value of the specified general-purpose fuse bit-field.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active and the command is applied to BOOTPROT or EPFL fuses.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
A write operation can only clear bits; in other words, an erase operation must first be done if some bits need to be set to 1.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="acd1a7d62446687fe6db36f4ff35e7cbc"></a><!-- doxytag: member="flashc.h::flashc_write_gp_fuse_byte" ref="acd1a7d62446687fe6db36f4ff35e7cbc" args="(unsigned int gp_fuse_byte, uint8_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_write_gp_fuse_byte </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>gp_fuse_byte</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes a general-purpose fuse byte. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">gp_fuse_byte</td><td>The general-purpose fuse byte: <code>0</code> to <code>7</code>. </td></tr>
    <tr><td class="paramname">value</td><td>The value of the specified general-purpose fuse byte.</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the Security bit is active.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
A write operation can only clear bits; in other words, an erase operation must first be done if some bits need to be set to 1.</dd>
<dd>
The actual number of general-purpose fuse bits implemented by hardware is given by <code>AVR32_FLASHC_GPF_NUM</code>. The other bits among the 64 are fixed at 1 by hardware. </dd></dl>

</div>
</div>
<a class="anchor" id="aa10438433246139bee71da6db2bb5bd5"></a><!-- doxytag: member="flashc.h::flashc_write_page" ref="aa10438433246139bee71da6db2bb5bd5" args="(int page_number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_write_page </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>page_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes a page from the page buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">page_number</td><td>The page number: <ul>
<li><code>0</code> to <code>(<a class="el" href="flashc_8c.html#aafad0dcf645cc65acb5bc879558dac23" title="Gets the total number of pages in the flash array.">flashc_get_page_count()</a> - 1)</code>: a page number within the flash array; </li>
<li><code>&lt; 0</code>: the current page number.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A Lock Error is issued if the command is applied to a page belonging to a locked region or to the bootloader protected area.</dd>
<dd>
The page buffer is not automatically reset after a page write.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
A write operation can only clear bits; in other words, an erase operation must first be done if some bits need to be set to 1. </dd></dl>

</div>
</div>
<a class="anchor" id="ad04374b721dca9c534d7cd041ae24712"></a><!-- doxytag: member="flashc.h::flashc_write_user_page" ref="ad04374b721dca9c534d7cd041ae24712" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flashc_write_user_page </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes the User page from the page buffer. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The page buffer is not automatically reset after a page write.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The FLASHC error status returned by <a class="el" href="flashc_8h.html#abc9239c2bde687eb3324d2d839493b4e">flashc_is_lock_error</a> and <a class="el" href="flashc_8h.html#a96f2a8ec38721359b09bb9214c025b7f">flashc_is_programming_error</a> is updated.</dd>
<dd>
A write operation can only clear bits; in other words, an erase operation must first be done if some bits need to be set to 1. </dd></dl>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a180c9966f5242650e00e4a231956acec"></a><!-- doxytag: member="flashc.h::flashc_wait_until_ready" ref="a180c9966f5242650e00e4a231956acec" args=")(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(*volatile <a class="el" href="flashc_8h.html#a180c9966f5242650e00e4a231956acec">flashc_wait_until_ready</a>)(void)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Pointer to the function used by the driver when it needs to wait until the FLASHC is ready to run a new command. The default function is <a class="el" href="flashc_8h.html#aca88002d64a494ca5b796b592834369d">flashc_default_wait_until_ready</a>. The user may change this pointer to use another implementation. </p>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Mon Dec 19 2011 21:04:52 for OpenShoe by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
